MontiCore: agile Entwicklung von domänenspezifischen Sprachen im Software-Engineering

نویسنده

  • Holger Krahn
چکیده

Domain specific languages (DSLs) are languages in computer science which permit specifying compact solutions in clear-cut functional or technical application areas. Using a domain specific notation simplifies the integration of experts in comparison to conventional software development because the models are easier understood by them. The automatic creation of production code from domain specific models is an effective form of model-driven development. An agile and efficient development process is hard to establish using existing DSL development methods because of the missing central language reference which includes abstract and concrete syntax and inadequate modularization techniques. Methods and reference architectures are lacking for designing and using complex and model-based tools in structured way for software development. Thus, in this thesis the modular development of textual DSLs and tools with the MontiCore-framework is described. The most important contributions to research can be summarized as follows: • Textual domain specific languages can be defined by a compact grammar-based format that defines abstract syntax as well as concrete syntax of a language and can therefore be used as a central documentation for developers and users of a DSL. The emerging abstract syntax is equivalent to well-established metamodeling-techniques and extends common grammar-based approaches. • The reuse of language fragments within model-driven development is supported by two modularity mechanisms that combine existing artifacts in a structured way to form new languages: Grammar inheritance supports the specialization and extension of languages. Embedding permits the flexible combination of multiple languages, which can also differ fundamentally in their lexical structure. • The used grammar format is extensible in a modular way such that additional information can be specified as so-called concepts. Based on them, further infrastructure can be generated from the language definition. The extensibility by concepts is demonstrated by a declarative way to specify links in the abstract syntax and by an attribute grammar system. • The development of code generators and tools for the analysis of DSLs is simplified considerably by making a reference architecture available. Approved solutions can be used without further development effort. Thus, the quality of the emerging tools is increased in comparison to existing approaches. • It is demonstrated how compilable templates can be used for an integrated refactoring of templates and a runtime environment. Based on that, a method is defined to develop a generator in a stepwise manner from existing source code. The data model of the generator can be derived automatically. The abovementioned languages and methods are developed within the framework MontiCore. Their applicability is demonstrated by the development of the framework itself in a bootstrapping-process and by two further case studies.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Entwurf einer domänenspezifischen Sprache für elektronische Stellwerke

Die Entwicklung elektronischer Stellwerke für den Bahnbetrieb ist ein aufwändiges Unterfangen, welches sich besonders für die zahlreichen Nebenstrecken und andere kleinere Bahnanlagen häufig als unrentabel erweist. Um in Zukunft einerseits mehr Verkehr auf die Schiene zu bringen und zudem die Kosten für den Betrieb der Infrastruktur zu senken, müssen die Hardware-Komponenten günstiger werden, a...

متن کامل

Entwicklung und Evaluierung einer Domänenspezifischen Sprache für SPS-Schrittketten

Domänenspezifische Sprachen mit passenden Entwurfsund Transformationswerkzeugen unterstützen Anwender in speziellen Gebieten ihre Entwürfe in Implementierungen umzusetzen. Sind solche Sprachen visuell, so können auch graphische Notationen aus dem Anwendungsgebiet übernommen werden, um die Akzeptanz der Sprache zu verbessern. In diesem Artikel berichten wir über den Entwurf, die Implementierung ...

متن کامل

Extreme Gebrauchstauglichkeit: Agile Prozess- und Softwareentwicklung mit den Mitteln des Usability Engineering

Agile Entwicklungsmethoden versprechen durch die iterative Entwicklung von Anforderungen, Bedürfnisse von Kunden genauer treffen zu können als Ansätze des „klassischen“ Software-Engineering. Ausgehend von drei verschiedenen Pro jekten bei einem deutschen Versicherer berichten wir über unsere Erfahrungen mit der Ermittlung und Entwicklung von Anforderungen. Wir beschreiben das Fördern von Verbin...

متن کامل

Evaluierung von Möglichkeiten zur Implementierung von Semantischen Analysen für Domänenspezifische Sprachen

Domänen-spezifische Sprachen dienen der Spezifikation von Modellen einer Anwendungsdomäne. Neben der Syntaxprüfung ist es zunehmend erforderlich auch semantische Prüfungen der Modelle durchzuführen. In den klassischen Werkzeugen zur Entwicklung Domänen-spezifischer Sprachen aus dem Gebiet der Modell-basierten Entwicklung wird häufig OCL zur Spezifikation solcher Bedingungen im Meta-Modell einge...

متن کامل

3. Grid Workflow Workshop (GWW 2010)

Im Bereich des Grid Computing stehen Workflows im Fokus zahlreicher Projekte. Allein auf europäischer Ebene wurden und werden viele Projekte zur Entwicklung von geeigneten Werkzeugen, Sprachen und Laufzeitumgebungen für Workflows im GridComputing gefördert. Der dritte Grid Workflow Workshop adressiert sowohl wissenschaftliche als auch betriebliche Workflows im Umfeld des Grid-Computing. Diese d...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره 1  شماره 

صفحات  -

تاریخ انتشار 2010